#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#define MAX 100
#define MAX_NAME 20
#define MAX_SEX 5
#define MAX_ADDR 30
#define MAX_TELE 12
#define INC_SZ 2
#define DEFAULT 3
//类型声明
typedef struct PerInfo
{
	char name[MAX_NAME];
	char age;
	char sex[MAX_SEX];
	char tele[MAX_TELE];
	char addr[MAX_ADDR];
}PeoInfo;

//静态
//typedef struct Contact
//{
//	PeoInfo data[MAX];//通讯录
//	int sz;
//}Contact;

//动态
typedef struct Contact
{
	PeoInfo* data;//通讯录
	int sz;
	int capacity;
}Contact;
enum Option//枚举中顺序从0开始自动排序
{
	Exit,
	Add,
	Del,
	Search,
	Modify,
	Show,
	Sort
};
//初始化通讯录
void InitContact(Contact* p);

//添加用户信息
void AddContact(Contact* p);

//显示所有用户信息
void ShowContact(const Contact* p);

//删除用户信息
void DelContact(Contact* p);

//查找用户信息
void SearchContact(const Contact* p);

//修改用户信息
void ModifyContact(Contact* p);

//排序按照年龄用户信息
void SortContactAge(Contact* p);

//释放开辟的空间
void DestoryContact(Contact* p);
